package top.raoqq.sky.context;

import org.springframework.security.core.context.SecurityContextHolder;
import top.raoqq.sky.dto.LoginUserDTO;

/**
 * @author 饶奇奇
 * @date 2023/8/8
 * 全局用户获取
 */
public class GlobalContext {

    private static LoginUserDTO getLoginUser() {
        return (LoginUserDTO) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
    }

    /**
     * 获取登录用户的id
     */
    public static String getUsername() {
        return getLoginUser().getUsername();
    }

    /**
     * 获取登录用户的昵称
     */
    public static String getNickname() {
        return getLoginUser().getNickname();
    }

    /**
     * 获取用户的头像
     */
    public static String getAvatar() {
        return getLoginUser().getAvatar();
    }

    /**
     * 获取token
     * @return token
     */
    public static String getToken() {
        return getLoginUser().getToken();
    }
}
